package com.shaozj.online.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shaozj.online.model.entity.MetaModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Optional;

@Mapper
public interface MetaModelMapper extends BaseMapper<MetaModel>  {

    /**
     * 根据模型编码和应用编码查询模型
     * @param appId
     * @param code
     * @return
     */
    Optional<MetaModel> selectByAppIdAndCode(@Param("appId") String appId, @Param("code") String code);

    /**
     * 查询应用下的所有模型
     * @param appCode
     * @return
     */
    List<MetaModel> selectByAppId(Long appCode);

    /**
     * 更新模型
     * @param model
     * @return
     */
    int update(MetaModel model);

    /**
     * 检查模型代码是否存在
     * @param appId
     * @param code
     * @return
     */
    boolean existsByAppIdAndCode(@Param("appId") Long appId, @Param("code")String code);
}
